//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
export default {
props: {
affix: {
type: String,
default: '',
validator (val) {
return ['', 'pm', 'am'].indexOf(val) !== -1
}
},
format: {
type: String,
validator (val) {
return val && ['ampm', '24hr'].indexOf(val) !== -1
}
},
mode: {
type: String,
default: 'hour',
validator (val) {
return ['hour', 'minute'].indexOf(val) !== -1
}
},
selectedTime: {
type: Date,
default () {
return new Date()
},
required: true
}
},
methods: {
handleSelectAffix (affix) {
this.$emit('selectAffix', affix)
},
handleSelectHour () {
this.$emit('selectHour')
},
handleSelectMin () {
this.$emit('selectMin')
}
},
computed: {
sanitizeTime () {
let hour = this.selectedTime.getHours()
let min = this.selectedTime.getMinutes().toString()
if (this.format === 'ampm') {
hour %= 12
hour = hour || 12
}
hour = hour.toString()
if (hour.length < 2) hour = `0${hour}`
if (min.length < 2) min = `0${min}`
return [hour, min]
}
}
}
|